Transactional memory (TM) is a concurrency control mechanism to simplify and enable less error prone parallel programming. In general, TM provides a flexible method for programs to read and modify disparate memory locations atomically as a single operation, in a manner similar to atomic database transaction that modify many records on disk. For example, TM may utilize an optimistic approach to potentially increase execution concurrency for multi-threaded programs that access the same or overlapping sets of multiple memory locations. To achieve optimistic execution, a TM execution environment may rely on certain features, including conflict detection, version management, and conflict resolution. TM may be implemented in hardware (HTM), software (STM), or a hybrid combination of both hardware and software.